package com.demo.java.OD251_300.OD265;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【服务器能耗统计】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146064382
 */
public class OdMain {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());  // 读取任务数量
        int[] d = new int[1000001];  // 差分数组，用来标记任务的开始和结束时间
        int minL = Integer.MAX_VALUE;  // 最小开始时间
        int maxR = Integer.MIN_VALUE;  // 最大结束时间

        // 处理所有任务，更新差分数组
        for (int i = 0; i < n; i++) {
            String[] line = br.readLine().split(" ");
            int l = Integer.parseInt(line[0]);  // 任务开始时间
            int r = Integer.parseInt(line[1]);  // 任务结束时间
            minL = Math.min(minL, l);  // 更新最小开始时间
            maxR = Math.max(maxR, r);  // 更新最大结束时间
            d[l]++;  // 任务开始时，任务数量增加
            d[r + 1]--;  // 任务结束后，任务数量减少
        }

        // 通过累加差分数组，计算每个时间点的任务数量
        for (int i = minL + 1; i <= maxR; i++) {
            d[i] += d[i - 1];
        }

        int ans = 0;  // 总工作量
        // 计算每个时间点的工作量
        for (int i = minL; i <= maxR; i++) {
            int p = d[i];  // 当前时间点的任务数量
            if (p == 0) {
                ans += 1;  // 无任务执行，工作量为1
            } else if (p == 1) {
                ans += 3;  // 只有一个任务执行，工作量为3
            } else {
                ans += 4;  // 多个任务重叠执行，工作量为4
            }
        }

        System.out.println(ans);  // 输出总工作量
    }
}